package com.算法.软件设计与开发.试题编号_2_1_3_帮你算系统关键算法;

public class 任务三_前项列和计算功能_3_关键算法 {
    /**
     * 有一分数序列：2/1，3/2，5/3，8/5，13/8，21/13 … 求出这个数列的前
     * 20 项之和。
     * 要求：利用循环计算该数列的和。注意分子分母的变化规律。
     * 注意：
     * a1=2, b1=1, c1=a1/b1;
     * a2=a1+b1, b2=a1, c2=a2/b2;
     * a3=a2+b2, b3=a2, c3=a3/b3;
     * …
     * s = c1+c2+…+c20;
     * s 即为分数序列：2/1，3/2，5/3，8/5，13/8，21/13 … 的前 20 项之和。
     * @param args
     */
    public static void main(String[] args) {
        System.out.println(number(20));
    }

    public static double number(int num){
        double a1 = 2;
        double b1=1;
        double c1 = 0;
//        c1=a1/b1
        for (int i = 1; i <= num; i++) {
            double b = 0;
            c1 += a1/b1;
            b = b1;
            b1 = a1;
            a1 = b1+b;
        }
        return c1;
    }
}
